﻿Imports System
Imports System.Runtime.InteropServices
Imports System.Text

Namespace Aricie.DNN.Modules.LuceneSearchProvider.IFilter
    <ComImport, Guid("89BCB740-6119-101A-BCB7-00DD010655AF"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)> _
    Public Interface IFilter
        <PreserveSig> _
        Function Init(<MarshalAs(UnmanagedType.U4)> ByVal grfFlags As IFILTER_INIT, ByVal cAttributes As UInt32, <MarshalAs(UnmanagedType.LPArray, SizeParamIndex:=1)> ByVal aAttributes As FULLPROPSPEC(), ByRef pdwFlags As UInt32) As Integer
        <PreserveSig> _
        Function GetChunk(<Out> ByRef pStat As STAT_CHUNK) As Integer
        <PreserveSig> _
        Function GetText(ByRef pcwcBuffer As UInt32, <MarshalAs(UnmanagedType.LPWStr)> ByVal buffer As StringBuilder) As Integer
        Sub GetValue(ByRef ppPropValue As UIntPtr)
        Sub BindRegion(<MarshalAs(UnmanagedType.Struct)> ByVal origPos As FILTERREGION, ByRef riid As Guid, ByRef ppunk As UIntPtr)
    End Interface
End Namespace

